/*
 * Copyright (c) 2021, Polsys Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * File name: bm_config.h
 * 
 * Description: 
 * 		BatteryMannager 静态配置文件。移植仅需修改此文件，将文件重命名为"bm_config.h"放在
 *  app或其他项目文件夹下。
 * 
 * Change Logs:
 * Date         Author  Notes
 * 2021/02/28   刘言    初版
 * 2022/10/19   刘言    支持只能获取电池电压的情况。
 */

// 需要引用的头文件
#include "board.h"

// 1: 有充电电流，0：无法获取充电电流
#define _BM_HAS_CC              0

// 1: 有FULL（是否充满）信号，0：无法获取FULL信号
#define _BM_HAS_FULL            0

// 1: 启用温度保护【未实现】
#define _BM_USE_TP              0

#define _BM_UD_VOL_INTV_C		15		// 更新电量间隔时间（充电时） s
#define _BM_UD_VOL_INTV_D		5		// 更新电量间隔时间（放电时） s

#define _BM_MAX_BV              4200    // 最大电池电压(充满电压)

#if (_BM_HAS_CC)
#define _BM_DESIGN_CC			500		/*设计的充电电流 mA*/ 
#endif

#if ((!_BM_HAS_CC) && (!_BM_HAS_FULL))
#define _BM_FLOAT_TIME          300     /*浮充时间，电压接近 _BM_MAX_BV 后继续充电这个时间标记充满*/ 
#endif

// 需要的API

#define _Bm_IsDcIn()		Board_GetDcIn()	    // 充电器是否接入，true为接入

#if (_BM_HAS_CC)
#define _Bm_GetBcc()		Board_GetBcc()		/*获得电池充电电流，单位mA.*/ 
#endif

#if (_BM_HAS_FULL)
#define _Bm_IsFull()
#endif

#define _Bm_GetBv()		Board_GetVBat()		// 获得电池电压，单位mV


